package org.dromara.manu.domain;

import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

/**
 * 主数据对象 manu_kpi_master
 *
 * @author Bin Liu
 * @date 2024-08-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("manu_kpi_master")
public class ManuKpiMaster extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 名称
     */
    private String name;

    /**
     * 简述
     */
    private String description;

    /**
     * 数据类别
     */
    private String category;

    /**
     * 数据类型
     */
    private String dataCategory;

    /**
     * 范围
     */
    private String scope;

    /**
     * 是否按年更新
     */
    private Boolean byAnnual;

    /**
     * 是否按月更新
     */
    private Boolean byMonth;

    /**
     * 是否按周更新
     */
    private Boolean byWeek;

    /**
     * 是否按天更新
     */
    private Boolean byDaily;

    /**
     * 是否按班更新
     */
    private Boolean byShift;

    /**
     * 配置串
     */
    private String screCode;

    /**
     * 删除标志
     */
    @TableLogic
    private Long delFlag;

    /**
     * 将screCode由字符串转化为对象
     */
    public BigDecimal getDefaultResult() {
        Map<String, Object> map = new HashMap<>();
        map = (Map<String, Object>) JsonUtils.parseObject(screCode, Object.class );
        BigDecimal defaultResult = new BigDecimal(map.get("default").toString());
        return defaultResult;
    }



}
